package com.air.antispider.stream.dataprocess.businessprocess

import scala.collection.mutable.ArrayBuffer

object FilterURL {
  def filter(message: String, filterList: ArrayBuffer[String]): Boolean = {
    //获取每条消息的URL
    val messageArr: Array[String] = message.split("#CS#")
    if (messageArr.length > 1) {
      //说明有数据
      val requestMsg: String = messageArr(1)
      //使用空格做切割,拿url数据
      val requestArr: Array[String] = requestMsg.split(" ")
      if (requestArr.length > 1) {
        //取出URL数据 /B2C40/dist/main/modules/common/requireConfig.js
        val url: String = requestArr(1)
        //URL和过滤规则进行匹配
        //遍历规则的集合
        for (filter <- filterList) {
          if (url.matches(filter)) {
            //如果匹配上,代表这个就是我要过滤的数据
            return false
          }
        }
        //根据匹配规则返回结果
        //如果整个For循环结束,还没有return,代表本URL就是我需要的URL,返回true
        return true
      }
    }
    //数据格式有问题，落在这里
    false
  }

}
